# Nuxt.js 项目部署脚本
Write-Host "开始部署 Nuxt.js 项目..." -ForegroundColor Green

# 检查 Node.js 是否安装
try {
    $nodeVersion = node --version
    Write-Host "Node.js 版本: $nodeVersion" -ForegroundColor Green
} catch {
    Write-Host "错误: 未找到 Node.js，请先安装 Node.js" -ForegroundColor Red
    exit 1
}

# 安装依赖
Write-Host "安装项目依赖..." -ForegroundColor Yellow
npm install

# 构建项目
Write-Host "构建生产版本..." -ForegroundColor Yellow
npm run build

# 检查 PM2 是否安装
try {
    pm2 --version | Out-Null
    Write-Host "PM2 已安装" -ForegroundColor Green
} catch {
    Write-Host "安装 PM2..." -ForegroundColor Yellow
    npm install -g pm2
}

# 停止现有进程（如果存在）
pm2 stop nuxt-blog 2>$null
pm2 delete nuxt-blog 2>$null

# 启动应用
Write-Host "启动应用..." -ForegroundColor Yellow
pm2 start .output/server/index.mjs --name "nuxt-blog"

# 保存 PM2 配置
pm2 save

Write-Host "部署完成！" -ForegroundColor Green
Write-Host "应用运行在: http://localhost:3000" -ForegroundColor Cyan
Write-Host "使用 'pm2 status' 查看应用状态" -ForegroundColor Cyan
Write-Host "使用 'pm2 logs nuxt-blog' 查看日志" -ForegroundColor Cyan 